import { Router } from 'express';
import { paymentAppController } from './appController';
import { raw } from 'body-parser';

const router = Router();

// 查询支付状态 - 当前用户的支付记录
router.get('/status', paymentAppController.getPaymentStatus.bind(paymentAppController));

// 获取收费项目列表
router.get('/fee-items', paymentAppController.getFeeItems.bind(paymentAppController));

// 创建支付订单
router.post('/create-order', paymentAppController.createOrder.bind(paymentAppController));

// 查询订单状态
router.get('/query-order', paymentAppController.getUserPaymentRecord.bind(paymentAppController));

// 微信支付回调通知
// 使用 raw 中间件解析微信支付的 XML 数据
router.post('/notify', raw({ type: 'text/xml', limit: '1mb' }), (req, res, next) => {
  // 确保请求体是字符串类型
  if (req.body && Buffer.isBuffer(req.body)) {
    req.body = req.body.toString('utf8');
  }
  console.log('微信支付回调中间件处理，数据类型:', typeof req.body);
  next();
}, paymentAppController.handlePayNotify.bind(paymentAppController));

export default router; 